/*
 * $Id: wstring.c,v 1.28 2006-04-06 16:25:37 bacon Exp $
 */

#include <xp/bas/wstring.h>

#define xp_char_t xp_wchar_t
#define xp_cint_t xp_wcint_t

#undef XP_CHAR
#undef XP_TEXT

#define XP_CHAR(x) XP_WCHAR(x)
#define XP_TEXT(x) XP_WTEXT(x)

#define XP_STRFNMAT_PATHNAME XP_WSTRFNMAT_PATHNAME
#define XP_STRFNMAT_NOESCAPE XP_WSTRFNMAT_NOESCAPE
#define XP_STRFNMAT_PERIOD   XP_WSTRFNMAT_PERIOD
#define XP_STRFNMAT_CASEFOLD XP_WSTRFNMAT_CASEFOLD

#define xp_isupper    xp_wisupper
#define xp_islower    xp_wislower
#define xp_isalpha    xp_wisalpha
#define xp_isdigit    xp_wisdigit
#define xp_isxdigit   xp_wisxdigit
#define xp_isalnum    xp_wisalnum
#define xp_isspace    xp_wisspace
#define xp_isprint    xp_wisprint
#define xp_isgraph    xp_wisgraph
#define xp_iscntrl    xp_wiscntrl
#define xp_ispunct    xp_wispunct
#define xp_tolower    xp_wtolower
#define xp_toupper    xp_wtoupper

#define xp_strlen     xp_wstrlen
#define xp_strsize    xp_wstrsize 
#define xp_strlenn    xp_wstrlenn
#define xp_strsizen   xp_wstrsizen

#define xp_strset     xp_wstrset
#define xp_strxset    xp_wstrxset

#define xp_strcpy     xp_wstrcpy
#define xp_strcpyn    xp_wstrcpyn
#define xp_strncpy    xp_wstrncpy
#define xp_strxcpy    xp_wstrxcpy
#define xp_strxncpy   xp_wstrxncpy

#define xp_strcat     xp_wstrcat
#define xp_strcatn    xp_wstrcatn
#define xp_strncat    xp_wstrncat
#define xp_strxcat    xp_wstrxcat
#define xp_strxncat   xp_wstrxncat
#define xp_strxapp    xp_wstrxapp
#define xp_strxappv   xp_wstrxappv
#define xp_strxcap    xp_wstrxcap
#define xp_strxcapv   xp_wstrxcapv

#define xp_strcmp     xp_wstrcmp 
#define xp_strcmpn    xp_wstrcmpn
#define xp_strxcmp    xp_wstrxcmp 
#define xp_strxncmp   xp_wstrxncmp 
#define xp_strcasecmp xp_wstrcasecmp
#define xp_strcasecmpn xp_wstrcasecmpn
#define xp_strncasecmp xp_wstrncasecmp
#define xp_strxcasecmp xp_wstrxcasecmp
#define xp_strxncasecmp xp_wstrxncasecmp

#define xp_strstr     xp_wstrstr
#define xp_strxstr    xp_wstrxstr
#define xp_strxnstr   xp_wstrxnstr

#define xp_strrstr    xp_wstrrstr
#define xp_strxrstr   xp_wstrxrstr
#define xp_strxnrstr  xp_wstrxnrstr

#define xp_strchr     xp_wstrchr
#define xp_strxchr    xp_wstrxchr
#define xp_strrchr    xp_wstrrchr
#define xp_strxrchr   xp_wstrxrchr

#define xp_strpbrk    xp_wstrpbrk 
#define xp_strxpbrk   xp_wstrxpbrk
#define xp_strnpbrk   xp_wstrnpbrk
#define xp_strxnpbrk  xp_wstrxnpbrk

#define xp_strrpbrk   xp_wstrrpbrk
#define xp_strxrpbrk  xp_wstrxrpbrk
#define xp_strnrpbrk  xp_wstrnrpbrk 
#define xp_strxnrpbrk xp_wstrxnrpbrk

#define xp_strspn     xp_wstrspn 
#define xp_strxspn    xp_wstrxspn
#define xp_strnspn    xp_wstrnspn 
#define xp_strxnspn   xp_wstrxnspn 

#define xp_strcspn    xp_wstrcspn 
#define xp_strxcspn   xp_wstrxcspn
#define xp_strncspn   xp_wstrncspn 
#define xp_strxncspn  xp_wstrxncspn 

#define xp_strrot     xp_wstrrot
#define xp_strxrot    xp_wstrxrot
#define xp_strrev     xp_wstrrev
#define xp_strxrev    xp_wstrxrev

#define xp_strdup     xp_wstrdup
#define xp_strxdup    xp_wstrxdup
#define xp_strxdup2   xp_wstrxdup2

#define xp_strdel     xp_wstrdel
#define xp_strxdel    xp_wstrxdel
#define xp_strrmchr   xp_wstrrmchr
#define xp_strxrmchr  xp_wstrxrmchr

#define xp_stristype  xp_wstristype
#define xp_strxistype xp_wstrxistype

#define xp_strupr xp_wstrupr
#define xp_strxupr xp_wstrxupr
#define xp_strlwr xp_wstrlwr
#define xp_strxlwr xp_wstrxlwr

#define xp_strtrm xp_wstrtrm
#define xp_strxtrm xp_wstrxtrm
#define xp_strpac xp_wstrpac
#define xp_strxpac xp_wstrxpac

#define xp_strtok xp_wstrtok
#define xp_strxtok xp_wstrxtok

#define xp_strspl xp_wstrspl
#define xp_strspls xp_wstrspls

#define xp_strfnmat xp_wstrfnmat
#define xp_strxfnmat xp_wstrxfnmat
#define xp_strnfnmat xp_wstrnfnmat
#define xp_strxnfnmat xp_wstrxnfnmat

#define xp_strtodn xp_wstrtodn
#define xp_strxtodn xp_wstrxtodn
#define xp_strfromdn xp_wstrfromdn
#define xp_strxfromdn xp_wstrxfromdn

#define xp_vstr_t xp_wvstr_t
#define xp_vstr_open xp_wvstr_open
#define xp_vstr_close xp_wvstr_close
#define xp_vstr_clear xp_wvstr_clear
#define xp_vstr_append xp_wvstr_append

#define __WSTRING
#include <xp/bas/string.c>
#include <xp/bas/string_size.c>
#include <xp/bas/string_fill.c>
#include <xp/bas/string_copy.c>
#include <xp/bas/string_concat.c>
#include <xp/bas/string_compar.c>
#include <xp/bas/string_search.c>
#include <xp/bas/string_rotate.c>
#include <xp/bas/string_dup.c>
#include <xp/bas/string_ctype.c>
#include <xp/bas/string_strfnmat.c>
#include <xp/bas/string_strspl.c>
#include <xp/bas/string_strtodn.c>
#include <xp/bas/string_strtok.c>
#include <xp/bas/string_strvec.c>
